Today, most businesses rely on complex information technology (IT) infrastructure for day to day operations. A user, such as a system administrator or operator, may manage this complex IT infrastructure by, for example, installing software, configuring firewalls, and updating software by installing patches. Managing this complex IT infrastructure requires flexibility and agility based on the need of the business. However, the total cost of ownership of complex IT infrastructures is continuously increasing. Analysts attribute this increasing cost to several factors, such as heterogeneity of resources, large scale, complex software, and interdependencies, that cut across layers and hosting environments.
To address these increasing cost challenges, businesses are beginning to adopt virtualization technologies, such as, for example, VMware (available from VMware, Inc. Palo Alto, Calif.), and XEN (open source virtualization software). Such virtualization technologies enable a user to seamlessly partition resources of a single physical machine into multiple virtual machines. Each virtual machine runs its own operating system (OS) and software stack. Thus, virtualization technology may relieve businesses from dealing with different types of hardware and OSs and the associated costs. In addition, this virtualization technology may allow businesses to better utilize resources of physical machines or containers without jeopardizing isolation and security.
However, while this virtualization technology may eliminate dependencies on hardware and OSs, deploying a solution composed of multiple components on an OS container is still a complex and laborious task due to the many interdependencies that exist between software products, especially if they need to be configured to work together.